#include<sys/wait.h>
#include<sys/types.h>
#include<unistd.h>
#include<iostream>
#include<stdlib.h>

int main()
{
    pid_t id=fork();

    if(id==0)
    {
        int cnt=0;
        while(true)
        {
            std::cout<<"hello Linux"<<std::endl;
            sleep(1);

            cnt/=0;
            if(cnt++>5)
            {
                break;
            }
        }
        sleep(20);
        exit(4);
    }

    int sta=0;
    int n=waitpid(id,&sta,0);

    if(n<0)
    {
        perror("waitpid");
    }

    std::cout<<"状态:" <<((sta>>8)&0xf)<<" exit signal:"<<(sta&0x7f)<<" core:"<<((sta>>7)&1)<<std::endl;
    sleep(5);

    return 0;
}
